<template>
  <div class="dashboard-editor-container">
    <!--    <github-corner class="github-corner" />-->

    <panel-group @handleSetLineChartData="handleSetLineChartData" />

    <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
      <line-chart :label="label" :chart-data="lineChartData" />
    </el-row>

    <el-row :gutter="32">
      <el-col :xs="24" :sm="24" :lg="8">
        <div class="chart-wrapper">
          <pie-chart :label="memberLabel" :data-list="memberChartData" title-name="人数" />
        </div>
      </el-col>
      <!--      <el-col :xs="24" :sm="24" :lg="8">-->
      <!--        <div class="chart-wrapper">-->
      <!--          <pie-chart />-->
      <!--        </div>-->
      <!--      </el-col>-->
      <el-col :xs="24" :sm="24" :lg="16">
        <div class="chart-wrapper">
          <bar-chart :data-list="orderChartData" :label="orderLabel" title-name="订单数" />
        </div>
      </el-col>
    </el-row>

    <!--    <el-row :gutter="8">-->
    <!--      <el-col :xs="{span: 24}" :sm="{span: 24}" :md="{span: 24}" :lg="{span: 12}" :xl="{span: 12}" style="padding-right:8px;margin-bottom:30px;">-->
    <!--        &lt;!&ndash;        <transaction-table />&ndash;&gt;-->
    <!--      </el-col>-->
    <!--      <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}" style="margin-bottom:30px;">-->
    <!--        <todo-list />-->
    <!--      </el-col>-->
    <!--      <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}" style="margin-bottom:30px;">-->
    <!--        <box-card />-->
    <!--      </el-col>-->
    <!--    </el-row>-->
  </div>
</template>

<script>
import PanelGroup from './components/PanelGroup'
import LineChart from './components/LineChart'
import PieChart from './components/PieChart'
import BarChart from './components/BarChart'
// import TransactionTable from './components/TransactionTable'
import { getDoctorArticleLikeChart, getDoctorArticleReadChart, getDoctorArticleStarChart } from '@/api/topic'
import { getMemberChart } from '@/api/member'
import { getOrderChart } from '@/api/order'

export default {
  name: 'DashboardAdmin',
  components: {
    PanelGroup,
    LineChart,
    PieChart,
    BarChart
  },
  data() {
    return {
      lineChartData: {},
      label: [],
      memberLabel: [],
      memberChartData: [],
      orderLabel: [],
      orderChartData: []
    }
  },
  created() {
    this.handleSetLineChartData('newVisitis')
    getMemberChart().then(({ data }) => {
      this.memberLabel = data.map(item => item.name)
      this.memberChartData = data
    })
    getOrderChart().then(({ data }) => {
      this.orderLabel = data.map(item => item.date)
      this.orderChartData = data.map(item => item.count)
    })
  },
  methods: {
    handleSetLineChartData(type) {
      if (type === 'newVisitis') {
        getDoctorArticleReadChart()
          .then(({ data }) => {
            this.label = data.map(item => item.date)
            this.lineChartData = {
              expectedData: data.map(item => item.count)
            }
          })
      } else if (type === 'messages') {
        // 点赞
        getDoctorArticleLikeChart()
          .then(({ data }) => {
            this.label = data.map(item => item.date)
            this.lineChartData = {
              expectedData: data.map(item => item.count)
            }
          })
      } else if (type === 'purchases') {
        // 收藏
        getDoctorArticleStarChart()
          .then(({ data }) => {
            this.label = data.map(item => item.date)
            this.lineChartData = {
              expectedData: data.map(item => item.count)
            }
          })
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.dashboard-editor-container {
  padding: 32px;
  background-color: rgb(240, 242, 245);
  position: relative;

  .github-corner {
    position: absolute;
    top: 0px;
    border: 0;
    right: 0;
  }

  .chart-wrapper {
    background: #fff;
    padding: 16px 16px 0;
    margin-bottom: 32px;
  }
}

@media (max-width: 1024px) {
  .chart-wrapper {
    padding: 8px;
  }
}
</style>
